package com.yidu.service;

import java.util.List;
import java.util.Map;

import com.yidu.action.vo.TreeNode;
import com.yidu.model.SnModule;

/**
 * 
 * 描述:模块服务类
 * @author 陈旭
 * @date 2018年11月26日
 */
public interface SnModuleService {
		/**
		 * 根据ID删除
		 * @param moId		模块ID
		 * @return	行数
		 */
		int deleteByPrimaryKey(String moId);
		/**
		 * 增加
		 * @param record	模块对象
		 * @return	行数
		 */
	    int insert(SnModule record);
	    /**
		 * 增加
		 * @param record	模块对象
		 * @return	行数
		 */
	    int insertSelective(SnModule record);
	    /**
	     * 根据ID查询
	     * @param moId		模块ID
	     * @return	模块对象
	     */
	    SnModule selectByPrimaryKey(String moId);
	    /**
	     * 修改
	     * @param record	模块对象
	     * @return	行数
	     */
	    int updateByPrimaryKeySelective(SnModule record);
	    /**
	     * 修改
	     * @param record	模块对象
	     * @return	行数
	     */
	    int updateByPrimaryKey(SnModule record);
	    
	    /**
	     * 查询所有
	     * @return	模块对象集合
	     */
	    List<SnModule> queryAll(Map<String, Object> map);
	    /**
	     * 查询行数
	     * @param map	map集合
	     * @return	行数
	     */
	    int findCount(Map<String, Object> map);
	    /**
	     * 增加或修改
	     * @param snModule	模块对象
	     * @return	行数
	     */
	    int addOrUpdate(SnModule snModule);
	    
	    /**
	     * 查询所有模块名称
	     * @return
	     */
	    List<SnModule> query();
	    /**
	     * 下拉树第一级
	     * @return	TreeNode对象
	     */
	    List<TreeNode> queryTree();
	    /**
	     * 下拉树第二级
	     * @return	TreeNode对象
	     */
	    List<TreeNode> queryTreeNode(String id);
	    
	    /**
	     * 根据SessionId查询模块表
	     * @param userId	Session得到的登录ID
	     * @return	模块对象集合
	     */
	    List<SnModule> findByModule(String userId);
}
